<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue-2.6.12开发.js"></script>
</head>

<body>
    <!-- 
        生命周期:
            1.又名:生命周期回调函数、生命周期函数、生命周期钩子
            2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数
            3.生命周期函数名不可更改(Vue定义好的) 但函数的具体逻辑是根据具体需求自己编写
            4.生命周期函数内的this指向vm 或组件实例对象(Vue已维护好的)
        注意:
            mounted只作为存放第一次(初始)渲染真实DOM的回调,如果页面再次更新(响应)就是更新钩子的事情了,不要与之混淆
     -->
    <div id="root">
        <h2 :style="{opacity}">生命周期:创建Vue后 一系列特殊时间点的回调函数</h2>
    </div>
    <script>

        new Vue({
            el: '#root',
            data: {
                opacity: 1
            },
            // 生命周期函数之: mounted回调函数-时间点:挂载完毕
            // Vue完成模版解析并把 初始的 真实DOM元素渲染至页面后(挂载完毕)调用mounted函数
            mounted() {
                setInterval(() => {
                    this.opacity -= 0.01
                    if (this.opacity <= 0) this.opacity = 1
                }, 16);
            },
        })
    </script>
</body>

</html>